package net.lahuobao.mall.entity.finance;

import net.lahuobao.enums.mall.finance.EFinAccountType;
import net.lahuobao.enums.mall.finance.EFinPaySource;
import net.lahuobao.export.datasoruce.annotation.ExportField;

import javax.xml.crypto.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * Created by clark on 2016/9/2 0002.
 * 商城中间账户支出实体
 */
public class MallMiddleExpenditureAccount  implements  Serializable {

    //中间账户名
    @ExportField(title="中间账户名",sort=10)
    private String middleAccountName;

    //中间账户收款卡号
    @ExportField(title="中间账户名(付款方)",sort=20)
    private String middleAccountBankNo;

    //中间账户类型
    @ExportField(title = "no", isShow = 0)
    private Integer middleAccountType;

    //中间账户类型名
    @ExportField(title = "中间账户类型", sort=30)
    private String middleAccountTypeName;

    //订单号
    @ExportField(title = "运单号", sort=40)
    private String orderNo;

    //支出金额
    @ExportField(title = "支付金额", sort=50)
    private BigDecimal expenditureMoney;

    //支出类型
    @ExportField(title = "no", isShow = 0)
    private Integer expenditureType;

    //支出类型名称
    @ExportField(title = "支付类型", sort=60)
    private String expenditureTypeName;

    //支出时间
    @ExportField(title="支付时间",sort=70,isTranf=1,tranfType=2)
    private Timestamp expenditureTime;

    //收款方
    @ExportField(title="收款方",sort=80)
    private String payeeAccountName;

    //收款账户
    @ExportField(title="收款账户",sort=90)
    private String payeeAccountBankNo;

    //到账时间
    @ExportField(title="到账时间",sort=100,isTranf=1,tranfType=2)
    private Timestamp arrivalTime;

    //支付开始时间
    @ExportField(title = "no", isShow = 0)
    private String payStartTime;

    //支付结束时间
    @ExportField(title = "no", isShow = 0)
    private String payEndTime;

    public String getMiddleAccountName() {
        return middleAccountName;
    }

    public void setMiddleAccountName(String middleAccountName) {
        this.middleAccountName = middleAccountName;
    }

    public String getMiddleAccountBankNo() {
        return middleAccountBankNo;
    }

    public void setMiddleAccountBankNo(String middleAccountBankNo) {
        this.middleAccountBankNo = middleAccountBankNo;
    }

    public Integer getMiddleAccountType() {
        return middleAccountType;
    }

    public void setMiddleAccountType(Integer middleAccountType) {
        this.middleAccountType = middleAccountType;
    }

    public String getMiddleAccountTypeName() {
        return EFinAccountType.valueOf(middleAccountType);
    }

    public void setMiddleAccountTypeName(String middleAccountTypeName) {
        this.middleAccountTypeName = middleAccountTypeName;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public BigDecimal getExpenditureMoney() {
        return expenditureMoney;
    }

    public void setExpenditureMoney(BigDecimal expenditureMoney) {
        this.expenditureMoney = expenditureMoney;
    }

    public Integer getExpenditureType() {
        return expenditureType;
    }

    public void setExpenditureType(Integer expenditureType) {
        this.expenditureType = expenditureType;
    }

    public String getExpenditureTypeName() {
        return EFinPaySource.valueOf(expenditureType);
    }

    public void setExpenditureTypeName(String expenditureTypeName) {
        this.expenditureTypeName = expenditureTypeName;
    }

    public Timestamp getExpenditureTime() {
        return expenditureTime;
    }

    public void setExpenditureTime(Timestamp expenditureTime) {
        this.expenditureTime = expenditureTime;
    }

    public String getPayeeAccountBankNo() {
        return payeeAccountBankNo;
    }

    public void setPayeeAccountBankNo(String payeeAccountBankNo) {
        this.payeeAccountBankNo = payeeAccountBankNo;
    }

    public String getPayeeAccountName() {
        return payeeAccountName;
    }

    public void setPayeeAccountName(String payeeAccountName) {
        this.payeeAccountName = payeeAccountName;
    }

    public Timestamp getArrivalTime() {
        return arrivalTime;
    }

    public void setArrivalTime(Timestamp arrivalTime) {
        this.arrivalTime = arrivalTime;
    }

    public String getPayEndTime() {
        return payEndTime;
    }

    public void setPayEndTime(String payEndTime) {
        this.payEndTime = payEndTime;
    }

    public String getPayStartTime() {
        return payStartTime;
    }

    public void setPayStartTime(String payStartTime) {
        this.payStartTime = payStartTime;
    }
}